{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## RUL prediction using boosting\n",
    "\n",
    "In this notebook, we will apply boosting to predict RUL of NASA's turbofan engine dataset FD003. To implement boosting, we will use [XGBoost](https://xgboost.readthedocs.io/en/latest/index.html) library."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "import xgboost as xgb\n",
    "\n",
    "from sklearn.metrics import mean_squared_error\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "np.random.seed(983)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Numpy version:  1.18.5\n",
      "Pandas version:  1.0.5\n",
      "XGBoost version:  1.2.0\n"
     ]
    }
   ],
   "source": [
    "print(\"Numpy version: \", np.__version__)\n",
    "print(\"Pandas version: \", pd.__version__)\n",
    "print(\"XGBoost version: \", xgb.__version__)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Data Preprocessing\n",
    "\n",
    "We strongly encourage readers to go through the [dataset description and prreprocessing notebook](https://github.com/biswajitsahoo1111/rul_codes_open/blob/master/notebooks/cmapss_notebooks/CMAPSS_data_description_and_preprocessing.ipynb). In that notebook we have explained how data preprocessing functions work with simple examples. In this notebook we will only use those functions. So prior familiarity with these functions is an advantage. Below are the parameters that we will use for data preprocessing:\n",
    "\n",
    "* Degradation model: Piecewise linear\n",
    "* Early RUL: 125\n",
    "* Window length: 1\n",
    "* Shift: 1\n",
    "* Data scaling: No (Tree based methods don't require data scaling)\n",
    "\n",
    "We will calculate two prediction scores on test data. In one case, we will take last 5 examples of test data for engine, calculate their predictions, and finally average those for each engine. In the second case, we will take only the last example of each engine and make predictions. The logic behind taking last 5 examples and averaging their predictions is to make the prediction robust against outliers. Due to some external factor, if our last example happens to be corrupted, its prediction outcome might be far off from the actual one. But if we average predictions from last 5 examples, we will get a more conservative estimate. \n",
    "\n",
    "In the following cell we will show boxplots of each column of training data. That will give us an idea about the values in different columns. If all the values in a column are constant, we drop those columns from our analysis.\n",
    "\n",
    "Readers can download the data from [here](https://ti.arc.nasa.gov/tech/dash/groups/pcoe/prognostic-data-repository/#turbofan). In the following cells, wherever data are read from a folder, readers should change the string to point to the respective folder from their system to run this notebook seamlessly."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1152x1512 with 21 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "train_data = pd.read_csv(\"/home/biswajit/data/cmapss_data/train_FD003.txt\", sep= \"\\s+\", header = None)\n",
    "plt.figure(figsize = (16, 21))\n",
    "for i in range(21):\n",
    "    temp_data = train_data.iloc[:,i+5]\n",
    "    plt.subplot(7,3,i+1)\n",
    "    plt.boxplot(temp_data)\n",
    "plt.show()\n",
    "\n",
    "def process_targets(data_length, early_rul = None):\n",
    "    \"\"\" \n",
    "    Takes datalength and earlyrul as input and \n",
    "    creates target rul.\n",
    "    \"\"\"\n",
    "    if early_rul == None:\n",
    "        return np.arange(data_length-1, -1, -1)\n",
    "    else:\n",
    "        early_rul_duration = data_length - early_rul\n",
    "        if early_rul_duration <= 0:\n",
    "            return np.arange(data_length-1, -1, -1)\n",
    "        else:\n",
    "            return np.append(early_rul*np.ones(shape = (early_rul_duration,)), np.arange(early_rul-1, -1, -1))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "def process_input_data_with_targets(input_data, target_data = None, window_length = 1, shift = 1):\n",
    "    \"\"\"Depending on values of window_length and shift, this function generates batchs of data and targets \n",
    "    from input_data and target_data.\n",
    "    \n",
    "    Number of batches = np.floor((len(input_data) - window_length)/shift) + 1\n",
    "    \n",
    "    **We don't check input dimensions uisng exception handling. So readers should be careful while using these\n",
    "    functions. If input data are not of desired dimension, either error occurs or something undesirable is \n",
    "    produced as output.**\n",
    "    \n",
    "    Arguments:\n",
    "        input_data: input data to function (Must be 2 dimensional)\n",
    "        target_data: input rul values (Must be 1D array)s\n",
    "        window_length: window length of data\n",
    "        shift: Distance by which the window moves for next batch. This is closely related to overlap\n",
    "               between data. For example, if window length is 30 and shift is 1, there is an overlap of \n",
    "               29 data points between two consecutive batches.\n",
    "        \n",
    "    \"\"\"\n",
    "    num_batches = np.int(np.floor((len(input_data) - window_length)/shift)) + 1\n",
    "    num_features = input_data.shape[1]\n",
    "    output_data = np.repeat(np.nan, repeats = num_batches * window_length * num_features).reshape(num_batches, window_length,\n",
    "                                                                                                  num_features)\n",
    "    if target_data is None:\n",
    "        for batch in range(num_batches):\n",
    "            output_data[batch,:,:] = input_data[(0+shift*batch):(0+shift*batch+window_length),:]\n",
    "        return output_data\n",
    "    else:\n",
    "        output_targets = np.repeat(np.nan, repeats = num_batches)\n",
    "        for batch in range(num_batches):\n",
    "            output_data[batch,:,:] = input_data[(0+shift*batch):(0+shift*batch+window_length),:]\n",
    "            output_targets[batch] = target_data[(shift*batch + (window_length-1))]\n",
    "        return output_data, output_targets"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "def process_test_data(test_data_for_an_engine, window_length, shift, num_test_windows = 1):\n",
    "    \"\"\" This function takes test data for an engine as first input. The next two inputs\n",
    "    window_length and shift are same as other functins. \n",
    "    \n",
    "    Finally it takes num_test_windows as the last input. num_test_windows sets how many examplles we\n",
    "    want from test data (from last). By default it extracts only the last example.\n",
    "    \n",
    "    The function return last examples and number of last examples (a scaler) as output. \n",
    "    We need the second output later. If we are extracting more than 1 last examples, we have to \n",
    "    average their prediction results. The second scaler halps us do just that.\n",
    "    \"\"\"\n",
    "    max_num_test_batches = np.int(np.floor((len(test_data_for_an_engine) - window_length)/shift)) + 1\n",
    "    if max_num_test_batches < num_test_windows:\n",
    "        required_len = (max_num_test_batches -1)* shift + window_length\n",
    "        batched_test_data_for_an_engine = process_input_data_with_targets(test_data_for_an_engine[-required_len:, :],\n",
    "                                                                          target_data = None,\n",
    "                                                                          window_length = window_length, shift = shift)\n",
    "        return batched_test_data_for_an_engine, max_num_test_batches\n",
    "    else:\n",
    "        required_len = (num_test_windows - 1) * shift + window_length\n",
    "        batched_test_data_for_an_engine = process_input_data_with_targets(test_data_for_an_engine[-required_len:, :],\n",
    "                                                                          target_data = None,\n",
    "                                                                          window_length = window_length, shift = shift)\n",
    "        return batched_test_data_for_an_engine, num_test_windows"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Processed trianing data shape:  (24720, 1, 15)\n",
      "Processed training ruls shape:  (24720,)\n",
      "Processed test data shape:  (500, 1, 15)\n",
      "True RUL shape:  (100,)\n"
     ]
    }
   ],
   "source": [
    "test_data = pd.read_csv(\"/home/biswajit/data/cmapss_data/test_FD003.txt\", sep = \"\\s+\", header = None)\n",
    "true_rul = pd.read_csv('/home/biswajit/data/cmapss_data/RUL_FD003.txt', sep = '\\s+', header = None)\n",
    "\n",
    "window_length = 1\n",
    "shift = 1\n",
    "early_rul = 125            \n",
    "processed_train_data = []\n",
    "processed_train_targets = []\n",
    "\n",
    "# How many test windows to take for each engine. If set to 1 (this is the default), only last window of test data for \n",
    "# each engine is taken. If set to a different number, that many windows from last are taken. \n",
    "# Final output is the average of output of all windows.\n",
    "num_test_windows = 5     \n",
    "processed_test_data = []\n",
    "num_test_windows_list = []\n",
    "\n",
    "columns_to_be_dropped = [0,1,2,3,4,5,9,14,20,22,23]\n",
    "\n",
    "num_machines = np.min([len(train_data[0].unique()), len(test_data[0].unique())])\n",
    "\n",
    "for i in np.arange(1, num_machines + 1):\n",
    "    \n",
    "    temp_train_data = train_data[train_data[0] == i].drop(columns=columns_to_be_dropped).values\n",
    "    temp_test_data = test_data[test_data[0] == i].drop(columns=columns_to_be_dropped).values\n",
    "    \n",
    "    # Verify if data of given window length can be extracted from both training and test data\n",
    "    if (len(temp_test_data) < window_length):\n",
    "        print(\"Test engine {} doesn't have enough data for window_length of {}\".format(i, window_length))\n",
    "        raise AssertionError(\"Window length is larger than number of data points for some engines. \"\n",
    "                             \"Try decreasing window length.\")\n",
    "    elif (len(temp_train_data) < window_length):\n",
    "        print(\"Train engine {} doesn't have enough data for window_length of {}\".format(i, window_length))\n",
    "        raise AssertionError(\"Window length is larger than number of data points for some engines. \"\n",
    "                             \"Try decreasing window length.\")\n",
    "    \n",
    "    temp_train_targets = process_targets(data_length = temp_train_data.shape[0], early_rul = early_rul)\n",
    "    data_for_a_machine, targets_for_a_machine = process_input_data_with_targets(temp_train_data, temp_train_targets, \n",
    "                                                                                window_length = window_length, shift = shift)\n",
    "    \n",
    "    # Prepare test data\n",
    "    test_data_for_an_engine, num_windows = process_test_data(temp_test_data, window_length = window_length, shift = shift,\n",
    "                                                             num_test_windows = num_test_windows)\n",
    "    \n",
    "    processed_train_data.append(data_for_a_machine)\n",
    "    processed_train_targets.append(targets_for_a_machine)\n",
    "    \n",
    "    processed_test_data.append(test_data_for_an_engine)\n",
    "    num_test_windows_list.append(num_windows)\n",
    "\n",
    "processed_train_data = np.concatenate(processed_train_data)\n",
    "processed_train_targets = np.concatenate(processed_train_targets)\n",
    "processed_test_data = np.concatenate(processed_test_data)\n",
    "true_rul = true_rul[0].values\n",
    "\n",
    "# Shuffle data\n",
    "index = np.random.permutation(len(processed_train_targets))\n",
    "processed_train_data, processed_train_targets = processed_train_data[index], processed_train_targets[index]\n",
    "\n",
    "print(\"Processed trianing data shape: \", processed_train_data.shape)\n",
    "print(\"Processed training ruls shape: \", processed_train_targets.shape)\n",
    "print(\"Processed test data shape: \", processed_test_data.shape)\n",
    "print(\"True RUL shape: \", true_rul.shape)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Processed train data shape:  (24720, 15)\n",
      "Processed test data shape:  (500, 15)\n"
     ]
    }
   ],
   "source": [
    "processed_train_data = processed_train_data.reshape(-1, processed_train_data.shape[2])\n",
    "processed_test_data = processed_test_data.reshape(-1, processed_test_data.shape[2])\n",
    "print(\"Processed train data shape: \", processed_train_data.shape)\n",
    "print(\"Processed test data shape: \", processed_test_data.shape)\n",
    "\n",
    "dtrain = xgb.DMatrix(processed_train_data, label = processed_train_targets)\n",
    "dtest = xgb.DMatrix(processed_test_data)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[0]\tTrain-rmse:20.19420\n",
      "[50]\tTrain-rmse:15.29484\n",
      "[100]\tTrain-rmse:14.52079\n",
      "[150]\tTrain-rmse:13.87585\n",
      "[200]\tTrain-rmse:13.30276\n",
      "[250]\tTrain-rmse:12.79949\n",
      "[300]\tTrain-rmse:12.30142\n",
      "[350]\tTrain-rmse:11.85067\n",
      "[400]\tTrain-rmse:11.46896\n",
      "[450]\tTrain-rmse:11.12765\n",
      "[499]\tTrain-rmse:10.73784\n"
     ]
    }
   ],
   "source": [
    "num_rounds = 500\n",
    "params = {\"max_depth\":3, \"learning_rate\":1, \"objective\":\"reg:squarederror\"}\n",
    "bst = xgb.train(params, dtrain, num_boost_round = num_rounds, evals = [(dtrain, \"Train\")], verbose_eval = 50)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "RMSE:  21.234760276664428\n"
     ]
    }
   ],
   "source": [
    "rul_pred = bst.predict(dtest)\n",
    "\n",
    "# First split predictions according to number of windows of each engine\n",
    "preds_for_each_engine = np.split(rul_pred, np.cumsum(num_test_windows_list)[:-1])\n",
    "mean_pred_for_each_engine = [np.average(ruls_for_each_engine, weights = np.repeat(1/num_windows, num_windows)) \n",
    "                             for ruls_for_each_engine, num_windows in zip(preds_for_each_engine, num_test_windows_list)]\n",
    "RMSE = np.sqrt(mean_squared_error(true_rul, mean_pred_for_each_engine))\n",
    "print(\"RMSE: \", RMSE)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "With somewhat arbitrary choice of hyperparameters, we obtained an RMSE value of 21.23. But can we do better? To find out better values of hyperparameters, we can do a principled hyperparameter tuning. There are different ways to do hyperparameter search. Here, we will use simple grid search. \n",
    "\n",
    "In grid search, we first define a grid of parameters. Then for each set of parameters, we will fit a 10 xgboost models (as it is 10 fold cross validation). Finally we will average the result of all folds for a particular parameter choice. The parameter choice that gives best score for cross validation is chosen as the best hyperparameter.\n",
    "\n",
    "Grid search of hyperparameters (with cross validation) is computationally intensive. It might take a long time on a personal computer. If that is the case, readers are advised to comment the next cell and directly use the best hyperparameter values as done in subsequent cells."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "max_depth: 2, eta: 0.01\n",
      "RMSE: 16.925178300000002 in 500 rounds\n",
      "\n",
      "max_depth: 2, eta: 0.1\n",
      "RMSE: 15.9878353 in 500 rounds\n",
      "\n",
      "max_depth: 2, eta: 0.3\n",
      "RMSE: 16.0106405 in 317 rounds\n",
      "\n",
      "max_depth: 2, eta: 0.5\n",
      "RMSE: 16.0962328 in 141 rounds\n",
      "\n",
      "max_depth: 2, eta: 1.0\n",
      "RMSE: 16.4131441 in 95 rounds\n",
      "\n",
      "max_depth: 3, eta: 0.01\n",
      "RMSE: 16.3285703 in 500 rounds\n",
      "\n",
      "max_depth: 3, eta: 0.1\n",
      "RMSE: 15.8276612 in 352 rounds\n",
      "\n",
      "max_depth: 3, eta: 0.3\n",
      "RMSE: 15.9748906 in 115 rounds\n",
      "\n",
      "max_depth: 3, eta: 0.5\n",
      "RMSE: 16.115730900000003 in 79 rounds\n",
      "\n",
      "max_depth: 3, eta: 1.0\n",
      "RMSE: 16.708309 in 36 rounds\n",
      "\n",
      "max_depth: 4, eta: 0.01\n",
      "RMSE: 16.003860699999997 in 500 rounds\n",
      "\n",
      "max_depth: 4, eta: 0.1\n",
      "RMSE: 15.8013207 in 153 rounds\n",
      "\n",
      "max_depth: 4, eta: 0.3\n",
      "RMSE: 15.9734114 in 50 rounds\n",
      "\n",
      "max_depth: 4, eta: 0.5\n",
      "RMSE: 16.1936801 in 27 rounds\n",
      "\n",
      "max_depth: 4, eta: 1.0\n",
      "RMSE: 16.8899473 in 14 rounds\n",
      "\n",
      "max_depth: 5, eta: 0.01\n",
      "RMSE: 15.8228621 in 500 rounds\n",
      "\n",
      "max_depth: 5, eta: 0.1\n",
      "RMSE: 15.7828596 in 107 rounds\n",
      "\n",
      "max_depth: 5, eta: 0.3\n",
      "RMSE: 16.0118158 in 27 rounds\n",
      "\n",
      "max_depth: 5, eta: 0.5\n",
      "RMSE: 16.250317799999998 in 14 rounds\n",
      "\n",
      "max_depth: 5, eta: 1.0\n",
      "RMSE: 17.261958 in 5 rounds\n",
      "\n",
      "Best parameters are: Max_depth= 5, eta= 0.1, num_rounds = 107. Corresponding RMSE: 15.7828596\n"
     ]
    }
   ],
   "source": [
    "param_grid = [(max_depth, eta) for max_depth in np.arange(2,6) for eta in np.array([0.01, 0.1, 0.3, 0.5, 1])]\n",
    "\n",
    "min_rmse = np.inf\n",
    "best_params = None\n",
    "params = dict()\n",
    "params[\"objective\"] = \"reg:squarederror\"\n",
    "for max_depth, eta in param_grid:\n",
    "    print(\"max_depth: {}, eta: {}\".format(max_depth, eta))\n",
    "    \n",
    "    params[\"max_depth\"] = max_depth\n",
    "    params[\"eta\"] = eta\n",
    "    \n",
    "    cv_res = xgb.cv(params, dtrain, num_boost_round= num_rounds, early_stopping_rounds= 10, nfold = 10, seed = 43)\n",
    "    \n",
    "    best_rmse_val = cv_res[\"test-rmse-mean\"].min()\n",
    "    best_num_rounds = cv_res[\"test-rmse-mean\"].argmin() + 1\n",
    "    \n",
    "    print(\"RMSE: {} in {} rounds\".format(best_rmse_val, best_num_rounds))\n",
    "    print()\n",
    "    \n",
    "    if best_rmse_val < min_rmse:\n",
    "        min_rmse = best_rmse_val\n",
    "        best_params = (max_depth, eta, best_num_rounds)\n",
    "        \n",
    "print(\"Best parameters are: Max_depth= {}, eta= {}, num_rounds = {}. Corresponding RMSE: {}\".format(best_params[0],\n",
    "                                                                                                    best_params[1],\n",
    "                                                                                                    best_params[2],\n",
    "                                                                                                    min_rmse))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We will use the best parameters to train the final regressor. The `num_boost_round` value obtained above is the best value for cross validation. We can take a value that is different from the above number but not very far from it. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "RMSE after hyperparameter tuning:  20.55272489005313\n"
     ]
    }
   ],
   "source": [
    "params_tuned = {\"max_depth\":5, \"eta\":0.1, \"objective\":\"reg:squarederror\"}\n",
    "bst_tuned = xgb.train(params_tuned, dtrain, num_boost_round= 150)\n",
    "\n",
    "rul_pred_tuned = bst_tuned.predict(dtest)\n",
    "\n",
    "preds_for_each_engine_tuned = np.split(rul_pred_tuned, np.cumsum(num_test_windows_list)[:-1])\n",
    "mean_pred_for_each_engine_tuned = [np.average(ruls_for_each_engine, weights = np.repeat(1/num_windows, num_windows)) \n",
    "                                   for ruls_for_each_engine, num_windows in zip(preds_for_each_engine_tuned,\n",
    "                                                                                num_test_windows_list)]\n",
    "RMSE_tuned = np.sqrt(mean_squared_error(true_rul, mean_pred_for_each_engine_tuned))\n",
    "print(\"RMSE after hyperparameter tuning: \", RMSE_tuned)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Note that while prediction, we are predicting RUL values for last 5 examples of every engine. Then we take mean of all 5 predictions for each engine and calculate final RMSE.\n",
    "\n",
    "If instead we wish to take only the last example of every engine to make predictions and calculate RUL, we can do so by taking the last prediction of every engine as calculated before and calcutate RMSE as follows."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([  4,   9,  14,  19,  24,  29,  34,  39,  44,  49,  54,  59,  64,\n",
       "        69,  74,  79,  84,  89,  94,  99, 104, 109, 114, 119, 124, 129,\n",
       "       134, 139, 144, 149, 154, 159, 164, 169, 174, 179, 184, 189, 194,\n",
       "       199, 204, 209, 214, 219, 224, 229, 234, 239, 244, 249, 254, 259,\n",
       "       264, 269, 274, 279, 284, 289, 294, 299, 304, 309, 314, 319, 324,\n",
       "       329, 334, 339, 344, 349, 354, 359, 364, 369, 374, 379, 384, 389,\n",
       "       394, 399, 404, 409, 414, 419, 424, 429, 434, 439, 444, 449, 454,\n",
       "       459, 464, 469, 474, 479, 484, 489, 494, 499])"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "indices_of_last_examples = np.cumsum(num_test_windows_list) - 1\n",
    "indices_of_last_examples"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "RMSE (Taking only last examples):  21.288512140334944\n"
     ]
    }
   ],
   "source": [
    "preds_for_last_example = np.concatenate(preds_for_each_engine_tuned)[indices_of_last_examples]\n",
    "\n",
    "RMSE_new = np.sqrt(mean_squared_error(true_rul, preds_for_last_example))\n",
    "print(\"RMSE (Taking only last examples): \", RMSE_new)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "If you are not convinced by above calculations, take a look at the last section of [this notebook](https://github.com/biswajitsahoo1111/rul_codes_open/blob/master/notebooks/cmapss_notebooks/CMAPSS_FD001_xgboost_piecewise_linear_degradation_model.ipynb)."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "For CMAPSS data, along with RMSE another metric (S-score) is usually reported in literature. S-score is defined as:\n",
    "\n",
    "$$S= \\sum_{i=1}^N{s_i}$$\n",
    "\n",
    "where, \n",
    "\n",
    "$$\n",
    "\\begin{equation}\n",
    "    s_i=\n",
    "    \\begin{cases}\n",
    "      (e^{-\\frac{d_i}{13}})-1, & \\text{for}\\ d_i < 1 \\\\\n",
    "      (e^{\\frac{d_i}{10}})-1, & \\text{for}\\ d_i \\geq 1\\\\\n",
    "    \\end{cases}\n",
    "  \\end{equation}\n",
    "  $$\n",
    "  \n",
    "We can compute the S-metric as follows."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [],
   "source": [
    "def compute_s_score(rul_true, rul_pred):\n",
    "    \"\"\"\n",
    "    Both rul_true and rul_pred should be 1D numpy arrays.\n",
    "    \"\"\"\n",
    "    diff = rul_pred - rul_true\n",
    "    return np.sum(np.where(diff < 0, np.exp(-diff/13)-1, np.exp(diff/10)-1))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "S-score:  1979.336613366569\n"
     ]
    }
   ],
   "source": [
    "s_score = compute_s_score(true_rul, preds_for_last_example)\n",
    "print(\"S-score: \", s_score)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Plot true and predicted RUL values\n",
    "plt.plot(true_rul, label = \"True RUL\", color = \"red\")\n",
    "plt.plot(preds_for_last_example, label = \"Pred RUL\", color = \"blue\")\n",
    "plt.legend()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We can also plot variable importance score."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<AxesSubplot:title={'center':'Feature importance'}, xlabel='F score', ylabel='Features'>"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "xgb.plot_importance(bst_tuned)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "As a final note remember that hyperparameter tuning is more of an art than science. It is possible to obtain better results than what has been obtained here by choosing better set of hyperparameters.\n",
    "\n",
    "For other reproducible results on RUL, interested readers can visit my [project page](https://biswajitsahoo1111.github.io/rul_codes_open). "
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "tf_cpu_23",
   "language": "python",
   "name": "tf_cpu_23"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
